Data stored in a storage device is often accessible using a block device interface. The data is typically visible and accessible to any client with access to the storage device. Operating systems or other storage clients can erase data from the storage device, format the storage device, and otherwise manipulate and change the data.
Some B-tree-based file systems, such as Btrfs™, provide a clone operation that atomically creates a copy-on-write snapshot of a file. Such cloned files are sometimes referred to as reflinks. By cloning, the file system does not create a new link pointing to an existing mode; instead, the file system creates a new mode that initially shares the same disk blocks with the original file. That is, such B-tree-based file systems can clone a file by copying all file logical-to-physical mapping information. However, this approach becomes slow and time-consuming when the file is fragmented.